SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[pje_porMasters] @idInscripcion as integer, @puntaje as float output , @resultado as integer AS

/*este procedimiento calcula el puntaje para el item: Masters, recibe como parámetro el identificador de la inscripción para una determinada convocatoria
y devuelve en @pje el puntaje correspondiente para este item*/

set nocount on

declare  @idAgente as int,@CargoGenerico as int,@AsignaturaGenerica as int, @idTipoConvocatoria as int ,@fechaLimite as datetime
declare @topeMasters as float
DECLARE @Error INT

BEGIN TRANSACTION
             SET @ERROR=0

select @topeMasters =(select valor from tb_topetiposantecedentes where rubro=22 and TipoAntecedente =91 )-- leo el  tope por Masters

/*leo los datos de la inscripción: identificador del agente, cargo , asignatura tipo de convocatoria para la que se inscribe (ingreso, interinatos etc), y la fecha limite hasta la cual serán valorados
los antecedentes */
select  @idAgente=i.Agente,@cargoGenerico = i.CargoGenerico,@AsignaturaGenerica=i.AsignaturaGenerica,@idtipoConvocatoria=Conv.TipoConvocatoria,@FechaLimite=Conv.FechaLimite
	from 
	tb_inscripcionesConvocatorias i 
		join tb_Convocatorias conv on i.Convocatoria=conv.idConvocatoria 
	where i.idInscripcionConvocatoria=@idInscripcion

	SET @Error = @@ERROR 
	IF @Error <> 0 GOTO Salir

if  @idTipoConvocatoria  in (1,2,3,4,5,9)  --  TipoConvocatoria = 1 ingreso,interinatos y suplencias
	begin
		select  
		  @puntaje=isnull (sum(PuntajeParaIncumbencias),0)
		from tb_antecedentes a 
		join tb_tiposAntecedentes t on a.tipo=t.idtipoantecedente 
		where a.rubro=22  and agente=@idAgente and a.FechaPresentacion <= @FechaLimite -- and a.Fecha<@FechaLimite (agregar esta condición para chequear que el atecedente fuçe agregado antes del cierre de inscripción
		if  @puntaje > @topeMasters set @puntaje = @topeMasters 
	end

print @puntaje
Salir:
IF @Error <> 0 
	ROLLBACK TRANSACTION
ELSE 
	COMMIT TRANSACTION
GO
GRANT EXECUTE ON  [dbo].[pje_porMasters] TO [Juntas]
GO
